﻿@model IEnumerable<KMF.Common.ProductSynViewDto>
@{
    ViewBag.Title = "Đồng bộ sản phẩm";
    Layout = "~/Areas/KMFadmin/Views/Shared/_layout.cshtml";
}

<nav>
    <div id="jCrumbs" class="breadCrumb module">
        <ul>
            <li><a href="@Url.Action("Index", "AdminHome")"><i class="bootstrap icon-home"></i></a></li>
            <li><a href="@Url.Action("Index", "AdminSynProduct")">Đồng bộ sản phẩm</a> </li>
        </ul>
    </div>
</nav>
<div class="box-syn">
    Dữ liệu Upload là 1 file .xml được trích xuất từ phần mềm Misa dưới dạng "vật tư hàng hóa"
        <br />
    Misa > Tệp > Xuất khẩu dữ liệu > Chọn ngày tháng xuất > chọn (Danh mục > Vật tư hàng hóa) --> OK
    @using (Html.BeginForm("ReadExel", "AdminSynProduct", FormMethod.Post, new { enctype = "multipart/form-data", id = "exlForm", name = "exlForm" }))
    {
        <table cellpadding="0" cellspacing="0" width="100%" border="0" class="table-info">
            <tr>
                <td colspan="2">
                    <input type="file" name="filename" />
                    <input type="button" value="Tải lên" onclick="UploadExel()" />
                    <div class="synWrap">
                        <input type="button" value="Cập nhập toàn bộ" onclick="UpdateAllProductSyn(this);" />
                    </div>
                </td>
            </tr>
        </table>
    }
</div>

<table cellspacing="0" cellpadding="0" border="0" style="width: 100%;" class="goldenTimeTable2 tableProductSyn">
    <tr>
        <th style="width: 30px;">#</th>
        <th>Barcode
        </th>
        <th>Tên sản phẩm
        </th>
        <th>Giá cũ
        </th>
        <th>Giá mới
        </th>
        <th>Số Lượng cũ
        </th>
        <th>Số Lượng mới
        </th>
        <th></th>
    </tr>

    @{
        if (Model.Any())
        {
            var count = 0;
            foreach (var item in Model)
            {
                count++;
                var idata = item.Barcode + ";" + item.PriceNew + ";" + item.QuantityNew;
        <tr idata="@idata">
            <td>@count</td>
            <td>
                @Html.DisplayFor(modelItem => item.Barcode)
            </td>
            <td>
                @Html.DisplayFor(modelItem => item.Name)
            </td>
            <td>
                @item.Price.ToString("##,###,###")
            </td>
            <td>

                @{
                if (item.chk == "2" || item.chk == "3")
                {
                    <span style="color: red;">
                        @Convert.ToDecimal(item.PriceNew).ToString("##,###,###")
                    </span>
                }
                else
                {
                    @Convert.ToDecimal(item.PriceNew).ToString("##,###,###")
                }
                }

            </td>
            <td>
                @item.Quantity
            </td>
            <td>

                @{
                if (item.chk == "1" || item.chk == "3")
                {
                    <span style="color: red;">
                        @Html.DisplayFor(modelItem => item.QuantityNew)
                    </span>
                }
                else
                {
                    @Html.DisplayFor(modelItem => item.QuantityNew)
                }
                }
            </td>
            <td>
                <div class="tdSyn">
                    <input type="button" value="Cập nhập" name="btnSynRowUpdate" onclick="SynRowUpdate(this);" />
                </div>
            </td>
        </tr>
            }
        }
        else
        {
        <tr idata="0;0;0">
            <td colspan="8">Không thấy sự khác nhau
            </td>
        </tr>
        }
    }
</table>
@section scripts
{
    <script>
        function UploadExel() {
            $("#exlForm").submit();
        }
        function UpdateAllProductSyn(_this) {
            var cmd = $(_this);
            cmd.parent().addClass('trSynOut');
            cmd.parent().append('<img src="/Areas/KMFadmin/Content/images/ajax-loader-fb.gif" width="16" height="11" class="imgLoadingSyn" />');
            //var str = '';
            $('table.tableProductSyn tr:not(:first)').each(function () {
                var idata = $(this).attr('idata').split(';');
                //var trcmd = $(this);
                //alert(idata[0] + idata[1] + idata[2]);
                if (idata[0] != '0') {
                    $.get('/KMFadmin/AdminSynProduct/UpdateAllProductSyn', { barcode: idata[0], Price: idata[1], Quanty: idata[2] }, function () {
                    });
                    //$.ajax({
                    //    url: '/SynProduct/UpdateAllProductSyn',
                    //    data: { barcode: idata[0], Price: idata[1], Quanty: idata[2] },
                    //    type: 'POST',
                    //    success: function(data) {
                    //        if (data != undefined && data != '') {

                    //        }
                    //    },
                    //    error: function() {
                    //        alert('Có lỗi xảy ra !!!');
                    //    }
                    //});
                }

            });
            //huy sesion
            $.get('/KMFadmin/AdminSynProduct/DestroySession', function () {
                cmd.parent().removeClass('trSynOut');
                cmd.parent().find('img').remove();
                $('table.tableProductSyn tr:not(:first)').remove();
            });
        }

        function SynRowUpdate(_cmd) {
            var cmd = $(_cmd);
            cmd.parent().addClass('trSynOut');
            cmd.parent().append('<img src="/Areas/KMFadmin/Content/images/ajax-loader-fb.gif" width="16" height="11" class="imgLoadingSyn" />');
            var idata = cmd.parent().parent().parent().attr('idata').split(';');
            $.get('/KMFadmin/SynProduct/UpdateAllProductSyn', { barcode: idata[0], Price: idata[1], Quanty: idata[2] }, function () {
            });
            setInterval(function () {
                cmd.parent().removeClass('trSynOut');
                cmd.parent().find('img').remove();
                cmd.parent().parent().prev().find('span').css('color', 'black');
            }, 1000); // stop nay rat quan trong
        }
    </script>
}